#!/bin/bash
source ~/.bash_profile
source /etc/profile
if [ $# -lt 3 ]; then
    echo "error.. need deploy zip filename、path、environment 3 args"
    exit 1
fi
#set -e
#set -x
java -version
#args
#服务类型 dubbo,webapp
SERVICE_TYPE="dubbo"
#工作根目录
WORKSPACE_ROOT="/opt"
#数据临时目录，scp传输的文件都在这里
WORKSPACE_TEMP="$WORKSPACE_ROOT/$SERVICE_TYPE/temp"
#当前服务的目录
SERVICE_HOME="$WORKSPACE_ROOT/$SERVICE_TYPE/service/$2"
#判断如果文件不存在，退出
if [ ! -e "$WORKSPACE_TEMP/$deploy_file" ]; then
  echo "$WORKSPACE_TEMP/$deploy_file is not exist"
  exit 1
fi
#标记是否是第一次部署
UN_FIRST=0;
#判断当前服务目录是否存在，不存在就创建
if [ ! -d "$SERVICE_HOME" ]; then
  UN_FIRST=1;
  mkdir -p $SERVICE_HOME
  echo "$SERVICE_HOME maked"
fi
#如果不是第一次部署,就删除当前服务目录下除logs以外的所有文件
if [ $UN_FIRST -eq 0 ]; then
  cd $SERVICE_HOME
  bin/dubbo.sh stop
  #删除除logs文件夹以外的所有文件
  ls | grep -v logs | xargs rm -rf
fi
#进入根目录
cd $WORKSPACE_ROOT
#解压
unzip -oq $WORKSPACE_TEMP/$1 -d $SERVICE_HOME/
#复制 jar文件到lib目录
cp $SERVICE_HOME/*.jar $SERVICE_HOME/lib
#给bin目录下的所有sh文件可执行的权限
chmod +x $SERVICE_HOME/bin/*.sh
#启动dubbo服务
$SERVICE_HOME/bin/dubbo.sh start $3
echo "================dubbo server logs=================="
#休眠5秒
sleep 5s
#查看最后50行日志
tail -n 50 $SERVICE_HOME/dubbo.out
echo "$2 deployed!"
echo "================dubbo server logs=================="
